$(document).ready(function() {
	
	//SolicitacaoCapacitacao
	
	//wizard
	var wizardObj = wizardUpdate($("form").attr("id"),"solicitacaocapacitacaos",false);

		
	//so aceitar numero
	$("#quantidadeAlunos").keypress(verificaNumero);
	$("#quantidadeEdicoes").keypress(verificaNumero);
	$("#quantidadeTurmas").keypress(verificaNumero);
	$("#estimativasDisciplinaSolicitacaoCargaHorariaEstimativa").keypress(verificaNumero);
	
	//criando os editores de texto
    $('textarea').wysiwyg();
	
	//tooltip
	tooltip('oneToManyToolTip','Atenção, não basta apenas preecher os campos, é necessário clicar no botão + (Adicionar) para incluir!')
    //-------------------------------------- //////////////////// ------------------------------

    $("#pessoaAuto").simpleAutoComplete(600,"nome","pessoas?find=ByNomeLikeDocente");
	$("#nome").simpleAutoComplete(600,"nome","disciplinas?find=ByDeletadoNot&deletado=true");
    
	var indicacaoConteudistaAoColumns = [	{"sTitle": "Id", "mDataProp": "id", "bVisible": true, "sDefaultContent":""},
											{"sTitle": "Conteudista", "mDataProp": "nome", "bVisible": true, "sDefaultContent":""}
										];
	oneToMany("indicacaoConteudistasDataGrid", JSON.stringify(indicacaoConteudistaAoColumns));
	$("#indicacaoConteudistasAdicionarBtn").button({icons: {primary: "ui-icon-plusthick"}, text: false}).click(
	function(){		
		adicionarDoFormParaDatagrid("conteudistas", "indicacaoConteudistasDataGrid");
		$("#pessoaAuto").val('');
		$("#pessoaAuto").focus();
		return false;
	});
	//-------------------------------------- //////////////////// ------------------------------
	
	
	//oneToMany ----> <EstimativaDisciplinaSolicitacao> estimativasDisciplinaSolicitacao
	
	var estimativasDisciplinaSolicitacaoAoColumns = [
								{"sTitle": "Disciplina", "mDataProp": "nome", "bVisible": true, "sDefaultContent":""},
								{"sTitle": "Carga Hr", "mDataProp": "cargaHorariaEstimativa", "sWidth": "60px", "sType": "numeric", "bVisible": true, "sDefaultContent":""}
							  ];
	oneToMany("estimativasDisciplinaSolicitacaoDataGrid", JSON.stringify(estimativasDisciplinaSolicitacaoAoColumns));
	$("#estimativasDisciplinaSolicitacaoAdicionarBtn").button({icons: {primary: "ui-icon-plusthick"}, text: false}).click(
	function(){
		adicionarDoFormParaDatagrid("estimativasDisciplinaSolicitacao", "estimativasDisciplinaSolicitacaoDataGrid");
		$("#nome").val('');
		$("#estimativasDisciplinaSolicitacaoCargaHorariaEstimativa").val('');
		$("#nome").focus();	
		return false;
	});

	//-------------------------------------- //////////////////// ------------------------------
	
	
	//oneToMany ----> <PublicoAlvoCurso> publicosAlvo
	
	//combo box
	loadToComboBox("#publicosAlvoRamoSegurancaPublica",ramoSegurancaPublicaDataSource,"nome");
	loadToComboBox("#estadoLocal",estadoDataSource,"uf");
	
	//combobox dependentes
	$("#publicosAlvoRamoSegurancaPublica").change(function(event){ loadToSubcombo(event,'#publicosAlvoGraduacaoCargo','graduacaocargoes/combo/nome?class=br.com.educa.modelo.publico.GraduacaoCargo&methodName=findGraduacaoCargoesByRamoSegurancaPublica&ramoSegurancaPublica=','nome'); });
		
	var publicoAlvoAoColumns = [
                            	{"sTitle": "Ramo Segurança", "mDataProp": "ramoSegurancaPublica.nome", "bVisible": true, "sDefaultContent":""},
								{"sTitle": "Graduação/Cargo", "mDataProp": "nome", "bVisible": true, "sDefaultContent":""}
							  ];
	oneToMany("publicosAlvoDataGridPublico", JSON.stringify(publicoAlvoAoColumns));
	$("#publicosAlvoAdicionarBtn").button({icons: {primary: "ui-icon-plusthick"}, text: false}).click(
	function(){
		adicionarDoComboParaDatagrid("publicosAlvoGraduacaoCargo", "publicosAlvoDataGridPublico");
		return false;
	});
	
});

function popular(){
	
    var registro = $("#"+$("form").attr("id")).formParams(false);
	//oneToMany indicacaoConteudistas
	delete registro.indicacaoConteudistas;
	registro.conteudistas = serializarDataGrid("indicacaoConteudistasDataGrid");


	 //oneToMany estimativasDisciplinaSolicitacao
	delete registro.estimativasDisciplinaSolicitacao;
	registro.estimativasDisciplinaSolicitacao = serializarDataGrid("estimativasDisciplinaSolicitacaoDataGrid");


    //oneToMany publicoAlvo
	delete registro.publicosAlvo;
	registro.publicosAlvo = serializarDataGrid("publicosAlvoDataGridPublico");
	
	
	$("select").each(function(){
		try{ 
			eval("registro."+$(this).attr("id")+" = findDataId(registro."+$(this).attr("id")+".id, $(\"#"+$(this).attr("id")+"\").get(0).dataSource);");
		}catch(e){}
	});

	if( $("#construcaoDoutrina").val()=='true' ){
		registro.construcaoDoutrina=true;
	}else{
		registro.construcaoDoutrina=false;
	}
	
	return registro;
}

function preencherFormulario(data){

	loadToComboBoxCallBack("#departamentoProponente","departamentoproponentes/combo/nome?class=br.com.educa.modelo.instituicao.DepartamentoProponente","nome",function(){$("#departamentoProponente").val(data.departamentoProponente.id);});
	$("#estadoLocal").val(data.localPrevisto.estado.id);	
	loadToComboBoxCallBack("#localPrevisto","municipios/combo/nome?class=br.com.educa.modelo.publico.Municipio&methodName=findMunicipiosByEstado&estado="+data.localPrevisto.estado.id,"nome",function(){$("#localPrevisto").val(data.localPrevisto.id);});
//	$("#construcaoDoutrina").val(data.construcaoDoutrina);
//	$("#quantidadeAlunos").val(data.quantidadeAlunos);
	$("#periodoSemestre").val(data.periodoSemestre)
//	$("#quantidadeEdicoes").val(data.quantidadeAlunos);
//
	$("#indicacaoConteudistasDataGrid").dataTable().fnAddData(data.conteudistas);
	delete data.conteudistas;
	
	$("#estimativasDisciplinaSolicitacaoDataGrid").dataTable().fnAddData(data.estimativasDisciplinaSolicitacao);
	delete data.estimativasDisciplinaSolicitacao;
	
	$("#publicosAlvoDataGridPublico").dataTable().fnAddData(data.publicosAlvo);
	delete data.publicosAlvo;
	
	$('#contextualizacao').wysiwyg('setValue', data.contextualizacao);
	$('#objetivoMeta').wysiwyg('setValue', data.objetivoMeta);
	$('#objetivoDestino').wysiwyg('setValue', data.objetivoDestino);
	$('#objetivoFormas').wysiwyg('setValue', data.objetivoFormas);
	$('#objetivoContextos').wysiwyg('setValue', data.objetivoContexto);
	$('#resultadosEsperados').wysiwyg('setValue', data.resultadosEsperados);
	$('#observacoes').wysiwyg('setValue', data.observacoes);
	
	$("#"+$("form").attr("id")).populate( data,{resetForm:false});
	
}


